<?php
set_include_path(get_include_path() . PATH_SEPARATOR . "/Kioskos");
set_include_path(get_include_path() . PATH_SEPARATOR . "..");
set_include_path(get_include_path() . PATH_SEPARATOR . "../..");
require_once("Interfaces/Controllable.php");
require_once("BO/TipoEncuesta.php");

class Encuesta implements Controllable{
    public $idEncuestas;
    public $Titulo;
    public $Introduccion;
    public $NotaFinal;
    public $TipoEncuesta;
    public function __construct($idEncuestas='',$Titulo='',$Introduccion='',$NotaFinal='',$TipoEncuesta=null){
        $this->idEncuestas = $idEncuestas;
        $this->Titulo = $Titulo;
        $this->Introduccion = $Introduccion;
        $this->NotaFinal = $NotaFinal;
        if( is_numeric( $TipoEncuesta ) ){
            $TipoEncuesta = new TipoEncuesta($TipoEncuesta);
        }
        $this->TipoEncuesta = $TipoEncuesta;
    }
    function asControl($controlTag , $selected = false){
        $retVal = "";
        if($controlTag == 'FORM'){
            $retVal .= "<input type='hidden' name='idEncuesta' id='idEncuesta' value='$this->idEncuestas'>\n";
            $retVal .= "<br/><span>Tipo de encuesta</span><br/>\n";
            $tiposEncuestas = new TiposEncuestas();
            $tiposEncuestas->loadAllFromDB();
            $retVal .= $tiposEncuestas->asSelect()."<BR/>";
            $retVal .= "<span>Titulo</span><br/>\n";
            $retVal .= "<input type='text' name='Titulo' id='Titulo' value='$this->Titulo'><br/>";
            $retVal .= "<span>Introduccion</span><br/>\n";
            $retVal .= "<textarea rows='15' cols='80' name='Introduccion' id='Introduccion' >$this->Introduccion</textarea><br/>";
            $retVal .= "<span>Nota final</span><br/>\n";
            $retVal .= "<textarea rows='15' cols='80' name='NotaFinal' id='NotaFinal' >$this->NotaFinal</textarea><br/>";
        }
        if($controlTag == 'OPTION'){
            $retVal  = "<$controlTag value='$this->idEncuestas' ".($selected?" selected='selected' ":"").">".htmlspecialchars($this->Titulo)."</$controlTag>" ;       
        }
            
        return $retVal;
    }
    public function asForm(){
        return $this->asControl("FORM");
    }
    public function asOption(){
        return $this->asControl("OPTION");
    }
    public function guardar(){
        $query = "CALL CrearEncuesta ( '".$this->Titulo."' , '".$this->Introduccion."' , '".$this->NotaFinal."' , ".$this->TipoEncuesta->idTiposEncuestas." );";
        echo $query . "<br/>";
        $result = execute($query);
        echo $result;
    }
    public function eliminar(){
        $query = "CALL BorrarEncuesta ( $this->idEncuestas );";
        echo $query . "<br/>";
        $result = execute($query);
        echo $result;
    }
}

?>